Meta-F: Metaprogramming and Tactics in an Effectful Program Verifier
نویسندگان
چکیده
GUIDO MARTÍNEZ, CIFASIS-CONICET Rosario DANEL AHMAN, Inria Paris VICTOR DUMITRESCU,MSR-Inria Joint Centre NICK GIANNARAKIS, Princeton University CHRIS HAWBLITZEL,Microsoft Research CĂTĂLIN HRIŢCU, Inria Paris MONAL NARASIMHAMURTHY, University of Colorado Boulder ZOE PARASKEVOPOULOU, Princeton University CLÉMENT PIT-CLAUDEL,MIT CSAIL JONATHAN PROTZENKO,Microsoft Research TAHINA RAMANANANDRO,Microsoft Research ASEEM RASTOGI,Microsoft Research NIKHIL SWAMY,Microsoft Research
منابع مشابه
Some Ideas for Program Verifier Tactics
A program verifier is a tool that can be used to verify that a “contract” for a program holds – i.e. given a precondition the program guarantees that a given postcondition holds – by only working at the level of the annotated program. An alternative approach is to use an interactive theorem prover, which enables users to encode common proof patterns as special programs called “tactics”. This of...
متن کاملTactics for the Dafny Program Verifier
Many modern program verifiers are based on automated theorem provers, which enable full hiding of proof details and allow users to focus all their effort on the program text. This has the advantage that the additional expertise of theorem provers is not required, but has the drawback that when the prover fails to verify a valid program, the user has to annotate the program text with guidance fo...
متن کاملProgram Logics for Homogeneous Meta-programming
A meta-program is a program that generates or manipulates another program; in homogeneous meta-programming, a program may generate new parts of, or manipulate, itself. Meta-programming has been used extensively since macros were introduced to Lisp, yet we have little idea how formally to reason about metaprograms. This paper provides the first program logics for homogeneous metaprogramming – us...
متن کاملInterleaving data and effects
The study of programming with and reasoning about inductive datatypes such as lists and trees has benefited from the simple categorical principle of initial algebras. In initial algebra semantics, each inductive datatype is represented by an initial f-algebra for an appropriate functor f. The initial algebra principle then supports the straightforward derivation of definitional principles and p...
متن کاملScala Macros, a Technical Report (meta 2012)
Metaprogramming is a powerful technique of software development, which allows to automate program generation. Applications of metaprogramming range from improving expressiveness of a programming language via deep embedding of domain-specific languages to boosting performance of produced code by providing programmer with finegrained control over compilation. In this report we introduce macros, f...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2018